home *** CD-ROM | disk | FTP | other *** search
- /*
- * pgchart.h Presentation Graphics functions
- *
- * Copyright by WATCOM International Corp. 1988-1996. All rights reserved.
- */
- #ifndef _PGCHART_H_INCLUDED
- #define _PGCHART_H_INCLUDED
- #if !defined(_ENABLE_AUTODEPEND)
- #pragma read_only_file;
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #ifndef _COMDEF_H_INCLUDED
- #include <_comdef.h>
- #endif
-
- #if defined(_M_IX86)
- #pragma pack(__push,1);
- #else
- #pragma pack(__push,8);
- #endif
-
- #define _PG_MAXCHARTTYPE 5 /* maximum chart type */
-
- enum { /* chart types */
- _PG_BARCHART=1, _PG_COLUMNCHART,
- _PG_LINECHART, _PG_SCATTERCHART, _PG_PIECHART
- };
-
-
- #define _PG_MAXCHARTSTYLE 2 /* maximum chart style */
-
- enum { /* styles for bar and column charts */
- _PG_PLAINBARS=1, _PG_STACKEDBARS
- };
-
- enum { /* styles for line and scatter charts */
- _PG_POINTANDLINE=1, _PG_POINTONLY
- };
-
- enum { /* styles for pie charts */
- _PG_PERCENT=1, _PG_NOPERCENT
- };
-
-
- enum { /* title and legend positions */
- _PG_LEFT=1, _PG_CENTER, _PG_RIGHT, _PG_BOTTOM, _PG_OVERLAY
- };
-
- enum { /* axis types */
- _PG_LINEARAXIS=1, _PG_LOGAXIS
- };
-
- enum { /* tic mark label format */
- _PG_DECFORMAT=1, _PG_EXPFORMAT
- };
-
- #define _PG_MISSINGVALUE (-FLT_MAX) /* value for missing data elements */
-
-
- /* Error codes - greater than 100, terminate chart routine
- - less than 100, default values will be used */
-
- #define _PG_NOTINITIALIZED 101 /* library not initialized */
- #define _PG_BADSCREENMODE 102 /* not in graphics mode */
- #define _PG_BADCHARTTYPE 103 /* invalid chart type */
- #define _PG_BADLEGENDWINDOW 104 /* invalid legend window */
- #define _PG_BADDATAWINDOW 105 /* invalid data window */
- #define _PG_TOOSMALLN 106 /* number of data values <= 0 */
- #define _PG_TOOFEWSERIES 107 /* number of series <= 0 */
-
- #define _PG_BADCHARTSTYLE 1 /* invalid chart style */
- #define _PG_BADLOGBASE 2 /* log base <= 0 */
- #define _PG_BADSCALEFACTOR 3 /* scale factor = 0 */
- #define _PG_BADCHARTWINDOW 4 /* invalid chart window */
-
-
- /* Chart definition */
-
- #define _PG_TITLELEN 70 /* maximum title length */
-
- typedef struct { /* chart title definition */
- char title[ _PG_TITLELEN ]; /* title text */
- short titlecolor; /* palette color for title */
- short justify; /* _PG_LEFT, _PG_CENTER or _PG_RIGHT */
- } titletype;
-
- typedef struct { /* chart axes definition */
- short grid; /* if TRUE draw grid lines */
- short gridstyle; /* style number for grid lines */
- titletype axistitle; /* axis title */
- short axiscolor; /* palette color for axis */
- short labeled; /* if TRUE draw tic marks and titles */
- short rangetype; /* _PG_LINEARAXIS or _PG_LOGAXIS */
- float logbase; /* base used for log axis */
- short autoscale; /* if TRUE calculate remaining values */
- float scalemin; /* minimum value for scale */
- float scalemax; /* maximum value for scale */
- float scalefactor; /* scale factor for axis */
- titletype scaletitle; /* title for scale factor */
- float ticinterval; /* interval between tic marks */
- short ticformat; /* _PG_EXPFORMAT or _PG_DECFORMAT */
- short ticdecimals; /* number of decimals places in tic labels */
- } axistype;
-
- typedef struct { /* chart and data window definition */
- short x1; /* left side of window */
- short y1; /* top side of window */
- short x2; /* right side of window */
- short y2; /* bottom side of window */
- short border; /* if TRUE draw border */
- short background; /* palette color for background */
- short borderstyle; /* style number for border */
- short bordercolor; /* palette color for border */
- } windowtype;
-
- typedef struct { /* legend definition */
- short legend; /* if TRUE draw legend */
- short place; /* _PG_RIGHT, _PG_BOTTOM or _PG_OVERLAY */
- short textcolor; /* palette color for text */
- short autosize; /* if TRUE size is calculated */
- windowtype legendwindow; /* window for legend */
- } legendtype;
-
- typedef struct { /* chart definition */
- short charttype; /* _PG_BAR, _PG_COLUMN, _PG_LINE, _PG_SCATTER or _PG_PIE */
- short chartstyle; /* chart style for above type */
- windowtype chartwindow; /* window containing whole chart */
- windowtype datawindow; /* window containing data part of chart */
- titletype maintitle; /* chart main title */
- titletype subtitle; /* chart sub-title */
- axistype xaxis; /* x-axis description */
- axistype yaxis; /* y-axis description */
- legendtype legend; /* legend description */
- } chartenv;
-
-
- /* Palette and Style-set definition */
-
- #define _PG_PALETTELEN 16 /* size of palette and style-set */
-
- typedef unsigned char charmap[ 8 ]; /* character bit-map */
-
- typedef unsigned char fillmap[ 8 ]; /* pattern bit-map */
-
- typedef struct { /* palette entry definition */
- unsigned short color;
- unsigned short style;
- fillmap fill;
- char plotchar;
- } paletteentry;
-
- typedef paletteentry palettetype[ _PG_PALETTELEN ];
- typedef unsigned short styleset[ _PG_PALETTELEN ];
-
-
- /* Display functions */
-
- short _WCI86FAR _pg_initchart( void );
- short _WCI86FAR _pg_defaultchart( chartenv _WCI86FAR *, short, short );
- short _WCI86FAR _pg_chart( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short );
- short _WCI86FAR _pg_chartms( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * );
- short _WCI86FAR _pg_chartscatter( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short );
- short _WCI86FAR _pg_chartscatterms( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * );
- short _WCI86FAR _pg_chartpie( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short _WCI86FAR *, short );
-
- /* Analyze functions */
-
- short _WCI86FAR _pg_analyzechart( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short );
- short _WCI86FAR _pg_analyzechartms( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * );
- short _WCI86FAR _pg_analyzescatter( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short );
- short _WCI86FAR _pg_analyzescatterms( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * );
- short _WCI86FAR _pg_analyzepie( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short _WCI86FAR *, short );
-
- /* Utility functions */
-
- short _WCI86FAR _pg_hlabelchart( chartenv _WCI86FAR *, short, short, short, char _WCI86FAR * );
- short _WCI86FAR _pg_vlabelchart( chartenv _WCI86FAR *, short, short, short, char _WCI86FAR * );
- short _WCI86FAR _pg_getpalette( paletteentry _WCI86FAR * );
- short _WCI86FAR _pg_setpalette( paletteentry _WCI86FAR * );
- short _WCI86FAR _pg_resetpalette( void );
- void _WCI86FAR _pg_getstyleset( unsigned short _WCI86FAR * );
- void _WCI86FAR _pg_setstyleset( unsigned short _WCI86FAR * );
- void _WCI86FAR _pg_resetstyleset( void );
- short _WCI86FAR _pg_getchardef( short, unsigned char _WCI86FAR * );
- short _WCI86FAR _pg_setchardef( short, unsigned char _WCI86FAR * );
-
- #pragma pack(__pop);
- #ifdef __cplusplus
- };
- #endif
- #endif
-